package com.zhj.rabbitmq.com.service;

/**
 * @program: rabbimmq-demo
 * @description:
 * @author: zhengjibin
 * @create: 2020-11-19 13:46
 * @Version 1.0
 **/
public interface RabbitmqService {

    /**
     * direct 类型交换机
     * @param message 消息内容
     */
    void sendDirectMessage(String message);

    /**
     * direct 类型交换机 手动获取消息
     */
    String directReceiveMessage();

    /**
     * direct 类型交换机 自动监听消息队列，自动获取消息
     */
    void directReceiveMessageListener(String message);

    /**
     * fanout 类型交换机 自动监听消息队列，自动获取消息
     */
    void fanoutReceiveMessageListener01(String message);

    /**
     * fanout 类型交换机消息发送
     * @param message 发送消息内容
     */
    void sendFanoutMessage(String message);


    /**
     *  topic 类型消息发送
     * @param message 消息类型
     * @param routingkey routingkey(bindingkey)
     */
    void sendTopicMessage(String message,String routingkey);
}
